package mju.cxf.entity;

import com.baomidou.mybatisplus.annotation.*;

import io.swagger.models.auth.In;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 用户表实例
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("cxf_user") // 表示对应的数据库表名为 "cxf_user"
public class User implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.AUTO) // 主键自增策略
    private Long id; // 用户的唯一标识符
     @TableField(value = "open_id")
    private String openId;
    @TableField("email")
    private String email; // 用户的电子邮件地址

    @TableField("nickname")
    private String nickName; // 用户的姓名

    @TableField("gender")
    private Integer gender;

    @TableField("avatar")
    private String avatarUrl; // 用户头像的 URL

    @TableField("credit")
    private Integer credit; // 用户的信用积分

    @TableField("age")
    private Integer age; // 用户的年龄

    @TableField("points")
    private Integer points; // 用户的积分
    @TableField("freeze_balances")
    private Double freezeBalances; //冻结余额
    @TableField("available_balance")
    private Double availableBalance;; // 可以余额

    @TableField("member")
    private Double member; // 用户的会员状态，假设为双精度类型

    @TableField(fill = FieldFill.INSERT) // 在插入时自动填充
    private LocalDateTime createTime; // 用户记录的创建时间
}